package br.gov.ms.tce.modelo.bean;

import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

/**
*  @class Usuario
 * @author Anderson Paulino
 * @date 27/05/2011
 *
 */
@Entity
@Table( schema = "comum", name = "usuario")
public class Usuario extends PessoaFisica implements java.io.Serializable {

	/**
	 * serialVersionUID
	 */
	private static final long serialVersionUID = -3440235540669298793L;	
	private Integer matricula;
	private Boolean forcaTroca;
	private String login;
	private Integer nivelSigilo;
	private Boolean digitador;
	private Date ultimoAcesso;

	/**
	 * Construtor Padrão
	 */
	public Usuario() {
	}


	public Usuario(Integer matricula,
			Boolean forcaTroca, String login, Integer nivelSigilo,
			Boolean digitador, Date ultimoAcesso) {
		this.matricula = matricula;
		this.forcaTroca = forcaTroca;
		this.login = login;
		this.nivelSigilo = nivelSigilo;
		this.digitador = digitador;
		this.ultimoAcesso = ultimoAcesso;
	}

	

	@Column(name = "matricula")
	public Integer getMatricula() {
		return this.matricula;
	}

	public void setMatricula(Integer matricula) {
		this.matricula = matricula;
	}

	@Column(name = "forca_troca")
	public Boolean getForcaTroca() {
		return this.forcaTroca;
	}

	public void setForcaTroca(Boolean forcaTroca) {
		this.forcaTroca = forcaTroca;
	}

	@Column(name = "login", length = 30)
	public String getLogin() {
		return this.login;
	}

	public void setLogin(String login) {
		this.login = login;
	}

	@Column(name = "nivel_sigilo")
	public Integer getNivelSigilo() {
		return this.nivelSigilo;
	}

	public void setNivelSigilo(Integer nivelSigilo) {
		this.nivelSigilo = nivelSigilo;
	}

	@Column(name = "digitador")
	public Boolean getDigitador() {
		return this.digitador;
	}

	public void setDigitador(Boolean digitador) {
		this.digitador = digitador;
	}

	@Temporal(TemporalType.TIMESTAMP)
	@Column(name = "ultimo_acesso", length = 23)
	public Date getUltimoAcesso() {
		return this.ultimoAcesso;
	}

	public void setUltimoAcesso(Date ultimoAcesso) {
		this.ultimoAcesso = ultimoAcesso;
	}

}
